<?php
//测试控制器类
class LoginController extends Controller{
    private $db;
    //构造函数
    public function __init(){
        //判断是否登陆
        $user = Q('session.user');
        if(!empty($user)){
            header('location:'.u('index/index'));
        }
        //指定函数
        $this -> db = k("User");
    }
/*-----------------登陆页面-----------------*/
    //显示登陆页面
    public function login(){
        //显示视图
        $this->display('header');
        $this->display();
    }

    //登陆验证
    public function into(){

        $Model = K('user');

        //表单验证
        if(!$Model -> create()){
            $this -> error($Model -> error);
            exit;
        }

        //获取用户信息
        $userinfo = $this -> db -> userone('uname ="'.$_POST['username'].'"');

        //判断用户是否存在
        if(!$userinfo){
            $this -> error('管理员不存在！');
            exit;
        }

        //判断是否为管理员
        if($userinfo['type'] != 'admin'){
            $this -> error('登陆错误！');
            exit;
        }

        //判断密码是否正确
        if(md5(md5($_POST['userpass'])) != $userinfo['pw']){
            $this -> error('账号或者密码错误！');
            exit;
        }else{
            $_SESSION['admin'] = $userinfo;
            header('location:'.u('index/index'));
        }

    }
/*-----------------注册页面----------------*/
    //注册用户页面
    public function reg(){
        //显示视图
        $this->display('header');
        $this->display();
    }
    //添加用户
    public function add(){
        $Model = K('user');

        //表单验证
        if(!$Model -> create()){
            $this -> error($Model -> error);
            exit;
        }

        //判断邀请码是否正确
        $code = $_POST['invt'];
        $invt = $this -> db -> codeone('code ='.$code);
        if(!$invt){
            $this -> error('验证码不正确！');
            exit;
        }

        //判断是否被人注册
        $userinfo = $this->db->userone('uname="'.$_POST['username'].'"');
        var_dump($userinfo);
        if(!empty($userinfo)){
            $this -> error('账号已被注册！');
            exit;
        }

        //将获取到的数据放入数组
        $data = array(
            'uname' => $_POST['username'],
            'pw' => md5(md5($_POST['userpass'])),
            'uvip' => $invt['type'],
            'type' => 'home'
        );
        //添加用户
        if($this -> db -> adduser($data)){
            $this -> db -> codedel('code ='.$code);
            $this -> success($message = '注册成功！将跳转到登陆页面进行登陆。',U('login'), $time = 2);
        }else{
            $this -> error('账户注册失败！');
            exit;
        }
    }

    public function logout(){
        unset($_SESSION['admin']);
        $this -> success($message = '退出成功',U('Index/Index/Index'), $time = 2);
    }
}
